@echo off
chcp 65001 >nul
echo === APK服务网络连通性测试 ===
echo 测试时间: %date% %time%
echo.

:: 测试1: 基础网络连通性测试
echo 1. 基础网络连通性测试:
echo    测试命令: ping -n 3 10.76.83.96
ping -n 3 10.76.83.96 >nul 2>&1
if %errorlevel% equ 0 (
    echo    ✅ 网络层可达
) else (
    echo    ❌ 网络层不可达 - 可能是IP地址错误或网络问题
)
echo.

:: 测试2: 端口连通性测试
echo 2. 端口连通性测试:
echo    测试命令: PowerShell Test-NetConnection -ComputerName 10.76.83.96 -Port 80
powershell -Command "Test-NetConnection -ComputerName 10.76.83.96 -Port 80" >nul 2>&1
if %errorlevel% equ 0 (
    echo    ✅ 端口80开放
) else (
    echo    ❌ 端口80不可达 - 可能是防火墙或服务未启动
)
echo.

:: 测试3: HTTP服务测试
echo 3. HTTP服务测试:
echo    测试命令: PowerShell Invoke-WebRequest -Method HEAD -Uri http://10.76.83.96:80/ -TimeoutSec 5
powershell -Command "try { Invoke-WebRequest -Method HEAD -Uri 'http://10.76.83.96:80/' -TimeoutSec 5 | Out-Null; Write-Host '✅ HTTP服务响应正常' } catch { Write-Host '❌ HTTP服务无响应 - 可能是Web服务器未运行' }"
echo.

:: 测试4: 本地Nginx代理测试
echo 4. 本地Nginx代理测试:
echo    测试命令: PowerShell Invoke-WebRequest -Method HEAD -Uri http://172.168.1.11/health-apk -TimeoutSec 5
powershell -Command "try { Invoke-WebRequest -Method HEAD -Uri 'http://172.168.1.11/health-apk' -TimeoutSec 5 | Out-Null; Write-Host '✅ 本地Nginx代理正常' } catch { Write-Host '❌ 本地Nginx代理异常' }"
echo.

:: 测试5: 本地服务状态
echo 5. 本地服务状态检查:
echo    检查本地Nginx服务状态...
tasklist /FI "IMAGENAME eq nginx.exe" 2>nul | find /I "nginx.exe" >nul
if %errorlevel% equ 0 (
    echo    ✅ Nginx服务正在运行
) else (
    echo    ❌ Nginx服务未运行
)
echo.

echo === 测试完成 ===
echo 建议:
echo - 如果网络层不可达，检查IP地址是否正确
echo - 如果端口不可达，检查远程服务器防火墙设置
echo - 如果HTTP服务无响应，确认远程Nginx是否运行
echo - 如果本地代理异常，检查本地Nginx配置
echo.
echo 远程服务器信息:
echo - IP: 10.76.83.96
echo - 端口: 80
echo - 路径: /apk/
echo - 作用: APK文件下载服务
echo.
pause